FartKnocker - Vulnhub - Level: Medium - Bericht

Medium

Verwendete Tools

nmap
nikto
gobuster
wireshark
arp-scan
knock

Inhaltsverzeichnis

Reconnaissance

In diesem Abschnitt führen wir die ersten Schritte der Aufklärung durch, um Informationen über das Zielsystem zu sammeln. Dies ist entscheidend, um potenzielle Angriffsvektoren zu identifizieren.

┌──(root㉿CCat)-[~]
└─# ARP-Scan
192.168.2.127 08:00:27:3d:0d:c8 PCS Systemtechnik GmbH

Der ARP-Scan zeigt die IP-Adresse und die MAC-Adresse des Zielsystems. Die Angabe "PCS Systemtechnik GmbH" deutet auf den Hersteller der Netzwerkkarte hin.

┌──(root㉿CCat)-[~]
└─# /etc/hosts
192.168.2.127 fartknocker.vln

Die /etc/hosts-Datei ordnet die IP-Adresse dem Hostnamen "fartknocker.vln" zu. Dies ermöglicht die Verwendung des Hostnamens anstelle der IP-Adresse.

┌──(root㉿CCat)-[~]
└─# nmap -sS -sC -sV -A -p- $IP -Pn --min-rate 5000 | grep open
80/tcp open http Apache httpd 2.4.7 ((Ubuntu))

Dieser Nmap-Befehl sucht nach offenen Ports und filtert die Ausgabe nach Zeilen, die "open" enthalten. Das Ergebnis zeigt, dass Port 80 (HTTP) offen ist und ein Apache-Webserver läuft.

┌──(root㉿CCat)-[~]
└─# nmap -sS -sC -sV -A -p- $IP -Pn --min-rate 5000
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-10-08 14:25 CEST
Nmap scan report for fartknocker.vln (192.168.2.127)
Host is up (0.00015s latency).
Not shown: 65534 closed tcp ports (reset)
PORT   STATE SERVICE VERSION
80/tcp open  http    Apache httpd 2.4.7 ((Ubuntu))
|_http-title: Site doesn't have a title (text/html).
|_http-server-header: Apache/2.4.7 (Ubuntu)
MAC Address: 08:00:27:3D:0D:C8 (racle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop

TRACEROUTE
HOP RTT     ADDRESS
1   0.15 ms fartknocker.vln (192.168.2.127)

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 9.41 seconds

Nmap führt einen umfassenden Scan des Zielsystems durch.

  • -sS: TCP-SYN-Scan (Stealth Scan)
  • -sC: Führt Standard-Skripte zur Erkennung von Diensten aus.
  • -sV: Erkennt die Version der laufenden Dienste.
  • -A: Aktiviert aggressive Scan-Optionen (OS-Erkennung, Versionserkennung, Skriptausführung, Traceroute).
  • -p-: Scannt alle 65535 Ports.
  • $IP: Variable für die Ziel-IP-Adresse.
  • -Pn: Verhindert Ping-Anfragen, behandelt alle Hosts als "up".
  • --min-rate 5000: Sendet Pakete mit einer minimalen Rate von 5000 pro Sekunde.
Die Ergebnisse zeigen, dass nur Port 80 (HTTP) offen ist und ein Apache-Webserver Version 2.4.7 läuft. Der Server hat keinen Titel.

┌──(root㉿CCat)-[~]
└─# Nikto v2.5.0
+ Target IP:          192.168.2.127
+ Target Hostname:    192.168.2.127
+ Target Port:        80
+ Start Time:         2024-10-08 14:26:14 (GMT2)

+ Server: Apache/2.4.7 (Ubuntu)
+ /: The anti-clickjacking X-Frame-Options header is not present. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
+ /: The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type. See: https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/missing-content-type-header/
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ /: Server may leak inodes via ETags, header found with file /, inode: 68, size: 5105a792cb1f8, mtime: gzip. See: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2003-1418
+ Apache/2.4.7 appears to be outdated (current is at least Apache/2.4.54). Apache 2.2.34 is the EL for the 2.x branch.
+ OPTIONS: Allowed HTTP Methods: PST, PUT, OPTIONS, GET, HEAD .
+ /icons/README: Apache default file found. See: https://www.vntweb.co.uk/apache-restricting-access-to-iconsreadme/
+ /#wp-config.php#: #wp-config.php# file found. This file contains the database credentials.
+ 8102 requests: 0 error(s) and 7 item(s) reported on remote host
+ End Time:           2024-10-08 14:26:35 (GMT2) (21 seconds)

+ 1 host(s) tested

Nikto ist ein Webserver-Scanner, der auf Schwachstellen und Konfigurationsfehler prüft.

  • Es wurden fehlende HTTP-Header (X-Frame-Options, X-Content-Type-Options) festgestellt, die potenzielle Sicherheitsrisiken darstellen.
  • Der Server könnte Inodes über ETags leaken (CVE-2003-1418).
  • Die Apache-Version ist veraltet.
  • Die Datei /icons/README wurde gefunden, die Informationen über den Server preisgeben könnte.
  • Die Datei /#wp-config.php# wurde gefunden, die möglicherweise Datenbank-Zugangsdaten enthält. Dies ist ein kritischer Fund.

Web Enumeration

In diesem Abschnitt untersuchen wir die Webanwendung genauer, um versteckte Dateien, Verzeichnisse und potenzielle Schwachstellen aufzudecken.

┌──(root㉿CCat)-[~]
└─# gobuster dir -u "http://$IP" -w "/usr/share/wordlists/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt" -x txt,php,rar,zip,tar,pub,xls,docx,doc,sql,db,mdb,asp,aspx,accdb,bat,ps1,exe,sh,py,pl,gz,jpeg,jpg,png,html,phtml,xml,csv,dll,pdf,raw,rtf,xlsx,zip,kdbx,bak,svg,pem,crt,json,conf,ELF,elf,c,java,lib,cgi,csh,config,deb,desc,exp,eps,diff,icon,mod,ln,old,rpm,js.map,pHtml -b '503,404,403' -e --no-error -k
http://192.168.2.127/index.html (Status: 200) [Size: 104]

Gobuster ist ein Tool zum Auffinden von versteckten Verzeichnissen und Dateien auf einem Webserver.

  • -u: Die URL des Zielsystems.
  • -w: Die Wordlist, die für das Brute-Forcing verwendet wird.
  • -x: Dateiendungen, nach denen gesucht wird.
  • -b: HTTP-Statuscodes, die als Fehler behandelt werden sollen.
  • -e: Gibt die vollständige URL im Ergebnis aus.
  • --no-error: Unterdrückt Fehlermeldungen.
  • -k: Ignoriert SSL-Zertifikatsprobleme.
Gobuster hat die Datei /index.html gefunden.

http://192.168.2.127/index.html
huhuhuh Hey Beavis... huhuhh Check it out!

Wooah 
 
 huhuhuh Hey Beavis... huhuhh  Check it out! 
 
href="pcap1.pcap" -> Wooah

Die index.html-Seite enthält einen Link zur Datei pcap1.pcap. Dies deutet auf eine Netzwerkverkehrsaufzeichnung hin, die möglicherweise interessante Informationen enthält.

Initial Access

In diesem Abschnitt versuchen wir, uns initialen Zugriff auf das System zu verschaffen. Dies kann durch Ausnutzung von Schwachstellen oder durch das Finden von Anmeldeinformationen erfolgen.

Um die pcap1.pcap-Datei lesen zu können, müssen wir uns in den Host-only-Adapter schalten.

Wir verwenden Wireshark, um den Netzwerkverkehr zu analysieren.

Wireshark
............._ipps._tcp.local......_ipp..................._ipps._tcp.local......_ipp......

27	80.679735	192.168.56.101	192.168.56.102	TCP	54	7000 → 42767 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0
29	80.679753	192.168.56.101	192.168.56.102	TCP	54	8000 → 43631 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0
31	80.679954	192.168.56.101	192.168.56.102	TCP	54	9000 → 55630 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0
55	104.335287	192.168.56.101	192.168.56.102	TCP	54	7000 → 42770 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0
57	104.335301	192.168.56.101	192.168.56.102	TCP	54	8000 → 43634 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0
59	104.335502	192.168.56.101	192.168.56.102	TCP	54	9000 → 55633 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0
63	131.075295	192.168.56.101	192.168.56.102	TCP	54	8888 → 41072 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0

Die Analyse des Netzwerkverkehrs mit Wireshark zeigt TCP-Verbindungen zu den Ports 7000, 8000, 9000 und 8888. Die [RST, ACK]-Flags deuten auf abgelehnte Verbindungen hin.

Port Knocking

Die Analyse des Netzwerkverkehrs deutet auf Port Knocking hin. Wir versuchen, die richtige Sequenz zu finden, um den Port 8888 zu öffnen.

┌──(root㉿CCat)-[~]
└─# arp-scan -l | grep "PCS" | awk '{print $1}'
192.168.56.1 192.168.56.2

Wir verwenden arp-scan, um die IP-Adressen im lokalen Netzwerk zu finden. Die Ausgabe zeigt die IP-Adressen 192.168.56.1 und 192.168.56.2.

┌──(root㉿CCat)-[~]
└─# nmap -r -p 7000,8000,9000 192.168.56.2
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-10-08 16:10 CEST
Nmap scan report for 192.168.56.2
Host is up (0.00026s latency).

PORT     STATE  SERVICE
7000/tcp closed afs3-fileserver
8000/tcp closed http-alt
9000/tcp closed cslistener
MAC Address: 08:00:27:3D:0D:C8 (Oracle VirtualBox virtual NIC)

Nmap done: 1 IP address (1 host up) scanned in 13.35 seconds

Wir verwenden Nmap, um die Ports 7000, 8000 und 9000 auf der IP-Adresse 192.168.56.2 zu scannen. Die Ausgabe zeigt, dass alle Ports geschlossen sind.

┌──(root㉿CCat)-[~]
└─# nmap -r -p 7000,8000,9000,8888 192.168.56.2
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-10-08 16:10 CEST
Nmap scan report for 192.168.56.2
Host is up (0.00024s latency).

PORT     STATE  SERVICE
7000/tcp closed afs3-fileserver
8000/tcp closed http-alt
8888/tcp closed sun-answerbook
9000/tcp closed cslistener
MAC Address: 08:00:27:3D:0D:C8 (Oracle VirtualBox virtual NIC)

Nmap done: 1 IP address (1 host up) scanned in 13.49 seconds

Wir verwenden Nmap, um die Ports 7000, 8000, 9000 und 8888 auf der IP-Adresse 192.168.56.2 zu scannen. Die Ausgabe zeigt, dass alle Ports geschlossen sind.

┌──(root㉿CCat)-[~]
└─# knock -v 192.168.56.2 7000 8000 9000 7000 8000
hitting tcp 192.168.56.2:7000
hitting tcp 192.168.56.2:8000
hitting tcp 192.168.56.2:9000
hitting tcp 192.168.56.2:7000
hitting tcp 192.168.56.2:8000

Wir verwenden das Tool "knock", um die Port-Knocking-Sequenz 7000, 8000, 9000, 7000, 8000 an die IP-Adresse 192.168.56.2 zu senden.

Die Box öffnet den Port 8888 einfach nicht, daher können wir hier nicht mehr weitermachen.

Flags

cat user.txt userflag
cat root.txt rootflag